'''
题目要求
1. 找出出现最多次数的字母
2. 字母出现的次数
输入要求
1. 一次输入一行
2. 输入长度不超过1000
输出要求
1. 输出两行
2. 第一行 表示单词中出现得最多的字母
  2.1 多个字母出现的次数相等，输出字典序最小的那个
3. 第二行 表示出现得最多的那个字母在单词中出现的次数。
'''''

'''
> 方法一：
>
> 运行时间: 42ms
>
> 内存: 6424kb
'''
word = input()
a = 0
n = []
for i in word:            # 定义变量 i 遍历 word
  c = word.count(i)       # 令变量 c = word中变量 i 重复出现次数
  if c >= a:
    a = c                 # 令变量 a = word中变量 i 重复出现次数的最大值
for j in word:            # 定义变量 j 遍历 word
  if word.count(j) == a:  # 判断 word 中变量 j 重复出现次数是否等于变量 a，并导入集合n中
    n.append(j)
n.sort()                  # 对集合 n 进行排序
print(n[0])
print(a)
'''

> 方法二：
>
> 运行时间: 35ms
>
> 内存: 6420kb

'''
word = input()
word_1 = {word.count(i) for i in word}       # 利用推导式和集合的互异性找出每个单词出现的次数
word_2 = []
for j in word:
    if word.count(j) == max(word_1):        # 遍历 word 找出出现次数最大的单词
        word_2.append(j)
word_2.sort()
print(word_2[0])
print(max(word_1))
'''
> 方法三：
>
> 运行时间: 32ms
>
> 内存: 6424kb
'''

word = input()
w = set(word)              # 格式化字符串 word 为集合 w
a = 0
for i in w:
    b = word.count(i)
    if b > a:
        a = b              # 遍历出字母出现最多次数
word_2 = [j for j in w if \
          word.count(j) == a] # 推导式找出出现最多的字母
word_2.sort()              # 对word_2进行排序
print(word_2[0])
print(a)
